6 research outputs found
Modelling and analysing software in mCRL2
Model checking is an effective way to design correct software.Making behavioural models of software, formulating correctness properties using modal formulas, and verifying these using finite state analysis techniques, is a very efficient way to obtain the required insight in the software. We illustrate this on four common but tricky examples
Analysing the Control Software of the Compact Muon Solenoid Experiment at the Large Hadron Collider
The control software of the CERN Compact Muon Solenoid experiment contains
over 30,000 finite state machines. These state machines are organised
hierarchically: commands are sent down the hierarchy and state changes are sent
upwards. The sheer size of the system makes it virtually impossible to fully
understand the details of its behaviour at the macro level. This is fuelled by
unclarities that already exist at the micro level. We have solved the latter
problem by formally describing the finite state machines in the mCRL2 process
algebra. The translation has been implemented using the ASF+SDF
meta-environment, and its correctness was assessed by means of simulations and
visualisations of individual finite state machines and through formal
verification of subsystems of the control software. Based on the formalised
semantics of the finite state machines, we have developed dedicated tooling for
checking properties that can be verified on finite state machines in isolation.Comment: To appear in FSEN'11. Extended version with details of the ASF+SDF
translation of SML into mCRL
Modelling and Analysing Software in mCRL2
Model checking is an effective way to design correct software. Making behavioural models of software, formulating correctness properties using modal formulas, and verifying these using finite state analysis techniques, is a very efficient way to obtain the required insight in the software. We illustrate this on four common but tricky examples.</p
Modelling and Analysing Software in mCRL2
Model checking is an effective way to design correct software. Making behavioural models of software, formulating correctness properties using modal formulas, and verifying these using finite state analysis techniques, is a very efficient way to obtain the required insight in the software. We illustrate this on four common but tricky examples
An O(m log n) Algorithm for Branching Bisimilarity on Labelled Transition Systems
This software provides implementations of various branching bisimilarity algorithms, as present in the mCRL2 toolset, as well as a benchmark set and scripts to experimentally compare the implementations. The purpose of this artifact is to provide all resources necessary to validate the results reported in the TACAS 2020 paper "An O(m log n) Algorithm for Branching Bisimilarity on Labelled Transition Systems", by D.N. Jansen, J.-F. Groote, J.J.A. Keiren and A.J. Wijs